Imports System.Data.SqlClient
Imports System
Imports System.Configuration
Public Class DLicencias
    Dim ocnn As New DConexion
    Public Function cargarLicencia(ByVal item As Entidades.ELicencia) As Boolean
        Dim com As New SqlCommand
        Dim band As Boolean
        Try
            ocnn.abrirConexion()
            com.Connection = ocnn.obtenerConexion
            com.CommandType = CommandType.StoredProcedure
            com.CommandText = "Cargarlicencia"
            'carga los parametros
            com.Parameters.AddWithValue("@Titulo", item.Titulo)
            com.Parameters.AddWithValue("@Capitulo", item.Capitulo)
            com.Parameters.AddWithValue("@Articulo", item.Articulo)
            com.Parameters.AddWithValue("@Licencia", item.Licencia)
            com.Parameters.AddWithValue("@estado", item.Estado)
            'executa el comando
            com.ExecuteNonQuery()
            band = True
        Catch ex As Exception
            Throw New ArgumentException(ex.Message)
        End Try
        ocnn.cerrarConexion()
        Return band
    End Function

    Public Function modificarLicencia(ByVal licenciavieja As Entidades.ELicencia, ByVal licencianueva As Entidades.ELicencia) As Boolean
        Dim com As New SqlCommand
        Dim band As Boolean
        Try
            ocnn.abrirConexion()
            com.Connection = ocnn.obtenerConexion
            com.CommandType = CommandType.StoredProcedure
            com.CommandText = "ModificarLicencia"
            'carga os parametros
            com.Parameters.AddWithValue("@Tituloviejo", licenciavieja.Titulo)
            com.Parameters.AddWithValue("@Capituloviejo", licenciavieja.Capitulo)
            com.Parameters.AddWithValue("@Articuloviejo", licenciavieja.Articulo)
            com.Parameters.AddWithValue("@Licencianuevo", licencianueva.Licencia)
            com.Parameters.AddWithValue("@estadonuevo", licencianueva.Estado)
            'executa el comando
            com.ExecuteNonQuery()
            band = True
        Catch ex As Exception
            Throw New ArgumentException(ex.Message)
        End Try
        ocnn.cerrarConexion()
        Return band
    End Function

    Public Function modificarCapituloLic(ByVal licencia As Entidades.ELicencia, ByVal reemplazo As String) As Boolean
        Dim com As New SqlCommand
        Dim band As Boolean
        Try
            ocnn.abrirConexion()
            com.Connection = ocnn.obtenerConexion
            com.CommandType = CommandType.StoredProcedure
            com.CommandText = "ModificarCapituloLic"
            'carga os parametros
            com.Parameters.AddWithValue("@Capitulo", licencia.Capitulo)
            com.Parameters.AddWithValue("@reemplazo", reemplazo)
            'executa el comando
            com.ExecuteNonQuery()
            band = True
        Catch ex As Exception
            Throw New ArgumentException(ex.Message)
        End Try
        ocnn.cerrarConexion()
        Return band
    End Function

    Public Function modificarTituloLic(ByVal licencia As Entidades.ELicencia, ByVal reemplazo As String) As Boolean
        Dim com As New SqlCommand
        Dim band As Boolean
        Try
            ocnn.abrirConexion()
            com.Connection = ocnn.obtenerConexion
            com.CommandType = CommandType.StoredProcedure
            com.CommandText = "ModificarTituloLic"
            'carga os parametros
            com.Parameters.AddWithValue("@Titulo", licencia.Titulo)
            com.Parameters.AddWithValue("@reemplazo", reemplazo)
            'executa el comando
            com.ExecuteNonQuery()
            band = True
        Catch ex As Exception
            Throw New ArgumentException(ex.Message)
        End Try
        ocnn.cerrarConexion()
        Return band
    End Function

    Public Function buscarTituloDelicencia() As List(Of Entidades.ELicencia)
        Dim com As New SqlCommand
        Dim licencias As New List(Of Entidades.ELicencia)
        Try
            ocnn.abrirConexion()
            com.Connection = ocnn.obtenerConexion
            com.CommandType = CommandType.StoredProcedure
            com.CommandText = "BuscarTitulodeLicencia"
            Dim dr As SqlDataReader = com.ExecuteReader
            Do While dr.Read
                Dim licencia As New Entidades.ELicencia
                licencia.Titulo = dr("titulo")
                licencias.Add(licencia)
                licencia = Nothing
            Loop
            dr.Close()
            ocnn.cerrarConexion()
            Return licencias
        Catch ex As Exception
            Throw New ArgumentException(ex.Message)
        Finally
            licencias = Nothing
        End Try
    End Function

    Public Function buscarCapituloDelicencia() As List(Of Entidades.ELicencia)
        Dim com As New SqlCommand
        Dim licencias As New List(Of Entidades.ELicencia)
        Try
            ocnn.abrirConexion()
            com.Connection = ocnn.obtenerConexion
            com.CommandType = CommandType.StoredProcedure
            com.CommandText = "BuscarCapitulodeLicencia"
            Dim dr As SqlDataReader = com.ExecuteReader
            Do While dr.Read
                Dim licencia As New Entidades.ELicencia
                licencia.Capitulo = dr("Capitulo")
                licencias.Add(licencia)
                licencia = Nothing
            Loop
            dr.Close()
            ocnn.cerrarConexion()
            Return licencias
        Catch ex As Exception
            Throw New ArgumentException(ex.Message)
        Finally
            licencias = Nothing
        End Try
    End Function

    'sobrecargado
    Public Function buscarLicencia(ByVal licencia As Entidades.ELicencia, ByVal cond As Boolean) As List(Of Entidades.ELicencia)
        Dim com As New SqlCommand
        Dim licencias As New List(Of Entidades.ELicencia)
        Try
            ocnn.abrirConexion()
            com.Connection = ocnn.obtenerConexion
            com.CommandType = CommandType.StoredProcedure
            com.CommandText = "BuscarLicenciaxCond"
            com.Parameters.AddWithValue("@titulo", licencia.Titulo)
            com.Parameters.AddWithValue("@capitulo", licencia.Capitulo)
            com.Parameters.AddWithValue("@estado", cond)
            Dim dr As SqlDataReader = com.ExecuteReader
            Do While dr.Read
                Dim lic As New Entidades.ELicencia
                lic.Titulo = dr("titulo")
                lic.Capitulo = dr("capitulo")
                lic.Articulo = dr("articulo")
                lic.Licencia = dr("licencia")
                lic.Estado = dr("estado")
                licencias.Add(lic)
                licencia = Nothing
            Loop
            'retornamos los valores encontrados
            dr.Close()
            ocnn.cerrarConexion()
            Return licencias
        Catch ex As Exception
            Throw New ArgumentException(ex.Message)
        Finally
            licencias = Nothing
        End Try
    End Function

    'sobrecargado
    Public Function buscarLicencia(ByVal licencia As Entidades.ELicencia) As List(Of Entidades.ELicencia)
        Dim com As New SqlCommand
        Dim licencias As New List(Of Entidades.ELicencia)
        Try
            ocnn.abrirConexion()
            com.Connection = ocnn.obtenerConexion
            com.CommandType = CommandType.StoredProcedure
            com.CommandText = "BuscarLicencia"
            com.Parameters.AddWithValue("@titulo", licencia.Titulo)
            com.Parameters.AddWithValue("@capitulo", licencia.Capitulo)
            Dim dr As SqlDataReader = com.ExecuteReader
            Do While dr.Read
                Dim lic As New Entidades.ELicencia
                lic.Titulo = dr("titulo")
                lic.Capitulo = dr("capitulo")
                lic.Articulo = dr("articulo")
                lic.Licencia = dr("licencia")
                lic.Estado = dr("estado")
                licencias.Add(lic)
                licencia = Nothing
            Loop
            'retornamos los valores encontrados
            dr.Close()
            ocnn.cerrarConexion()
            Return licencias
        Catch ex As Exception
            Throw New ArgumentException(ex.Message)
        Finally
            licencias = Nothing
        End Try
    End Function

    Public Function buscarLicenciaPorArticulo(ByVal licencia As Entidades.ELicencia) As Boolean
        Dim com As New SqlCommand
        Dim band As Boolean
        Try
            ocnn.abrirConexion()
            com.Connection = ocnn.obtenerConexion
            com.CommandType = CommandType.StoredProcedure
            com.CommandText = "BuscarLicenciaxArticulo"
            com.Parameters.AddWithValue("@titulo", licencia.Titulo)
            com.Parameters.AddWithValue("@capitulo", licencia.Capitulo)
            com.Parameters.AddWithValue("@articulo", licencia.Articulo)
            Dim dr As SqlDataReader = com.ExecuteReader
            Do While dr.Read
                'creamos un objeto
                If dr.HasRows Then
                    band = True
                    Exit Do
                End If
            Loop
            'retornamos los valores encontrados
            dr.Close()
            ocnn.cerrarConexion()
            Return band
        Catch ex As Exception
            Throw New ArgumentException(ex.Message)
        End Try
    End Function

    'sobrecargado
    Public Function buscarLicencias() As List(Of Entidades.ELicencia)
        Dim com As New SqlCommand
        Dim Licencias As New List(Of Entidades.ELicencia)
        Try
            ocnn.abrirConexion()
            com.Connection = ocnn.obtenerConexion
            com.CommandType = CommandType.StoredProcedure
            com.CommandText = "BuscarLicencias"
            Dim dr As SqlDataReader
            dr = com.ExecuteReader
            Do While dr.Read
                'creamos un objeto
                Dim licencia As New Entidades.ELicencia
                licencia.Titulo = dr("titulo")
                licencia.Capitulo = dr("capitulo")
                licencia.Articulo = dr("articulo")
                licencia.Licencia = dr("licencia")
                licencia.Estado = dr("estado")
                Licencias.Add(licencia)
                licencia = Nothing
            Loop
            'retornamos los valores encontrados
            dr.Close()
            ocnn.cerrarConexion()
            Return Licencias
        Catch ex As Exception
            Throw New ArgumentException(ex.Message)
        Finally
            Licencias = Nothing
        End Try
    End Function

    'sobrecargado
    Public Function buscarLicencias(ByVal cond As Boolean) As List(Of Entidades.ELicencia)
        Dim com As New SqlCommand
        Dim Licencias As New List(Of Entidades.ELicencia)
        Try
            ocnn.abrirConexion()
            com.Connection = ocnn.obtenerConexion
            com.CommandType = CommandType.StoredProcedure
            com.CommandText = "BuscarLicenciasxEstado"
            com.Parameters.AddWithValue("@estado", cond)
            Dim dr As SqlDataReader
            dr = com.ExecuteReader
            Do While dr.Read
                'creamos un objeto
                Dim licencia As New Entidades.ELicencia
                licencia.Titulo = dr("titulo")
                licencia.Capitulo = dr("capitulo")
                licencia.Articulo = dr("articulo")
                licencia.Licencia = dr("licencia")
                licencia.Estado = dr("estado")
                Licencias.Add(licencia)
                licencia = Nothing
            Loop
            'retornamos los valores encontrados
            dr.Close()
            ocnn.cerrarConexion()
            Return Licencias
        Catch ex As Exception
            Throw New ArgumentException(ex.Message)
        Finally
            Licencias = Nothing
        End Try
    End Function
End Class
